package top.callback.inf.beautyleaf.starter.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * BeautyLeaf 配置信息
 *
 * @author Pengyu Gan
 * CreateDate 2021/3/25
 */
@Data
@ConfigurationProperties(prefix = "beautyleaf")
public class BeautyLeafProperties {

    /**
     * 是否使用独立数据源，如果启用则 beauty-leaf-core 会单独向数据库建立连接，否则使用项目自身的数据源。
     */
    private boolean enableIndependentDatasource;

    /**
     * 确保缓存和数据库的标签数据一致 定时任务的执行周期
     */
    private int keepConsistencePeriod;

    /**
     * 加载另一个号码段的阈值
     */
    private double loadSegmentThreshold;

    /**
     * 当前 BeautyLeaf 节点的名称
     */
    private String instanceName;

    /**
     * 当前 BeautyLeaf 实例的端口，这个端口并不是一个网络意义的端口，只是为了一台机器启动多个实例时在 ZK 里区分不同的 PATH
     */
    private int instancePort;

    /**
     * 雪花算法起始时间戳，默认为 2021-01-01 00:00:00
     */
    private long instanceTwepoch;

    /**
     * Zookeeper 连接地址，多个地址以逗号分隔
     */
    private String zookeeperAddress;

    /**
     * Zookeeper 连接超时毫秒数
     */
    private int zookeeperConnectionTimeout;

    /**
     * Zookeeper 会话超时毫秒数
     */
    private int zookeeperSessionTimeout;

}
